問題描述
資料庫欄位型態裡面設定的型態是varchar
但在php裡面取值時(如下面程式碼),有可能取到integer的型態
$array_function = array();
for($i=0;$i<$dataCount;$i++){
$result_arr = mysqli_fetch_assoc($result);
$fn = $result_arr['function_name'];
$array_function[$fn] = array();
}
查了以後發現即使你mysql裡面設定是varchar,但你用php取值後,若是你的資料是整數,他還是會認成是整數的型態
PHP陣列索引
陣列索引部分可以是整數,也可以是字串,就依據你想要的型態。
所以在設定的時候我會把上面的code改成
$array_function["$fn"] = array();
讓他always是字串型態,因為你的索引有整數也有字串會混淆
單引號跟雙引號的差別
PHP 會編譯「雙引號」字串內的變數,而「單引號」則視為純字串輸出,所以單引號會讓 PHP 執行速度比較快
而上面的例子$array_function[“$fn”],他就是把$fn經過了編譯變成了字串,讓我得索引都能是字串的型態
php轉型成字串
strval($variableName);
$string = (string)$intVariable
$variable = 1111111;
$string1 = “$variable”;
雙引號怎麼顯示特殊符號
反斜線
$test = 123;
echo "$test";
echo "<br>";
echo "\$test";
結論